<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>formatDuration</title>
</head>

<body>
    <script>
        const formatDuration = ms => {
            if (ms < 0) {
                ms = -ms;
            }
            const time = {
                day: Math.floor(ms / 86400000),
                hour: Math.floor(ms / 3600000) % 24,
                minute: Math.floor(ms / 60000) % 60,
                second: Math.floor(ms / 1000) % 60,
                millisecond: Math.floor(ms) % 1000
            };
            return Object.entries(time).filter(val => val[1] !== 0).map(([k, v]) => `${v} ${k}${v !== 1 ? 's' : '' }`).join(',');
        }
        document.write(formatDuration(1001),'<br />',formatDuration(34325055574));
        // '1 second, 1 millisecond'
        // '397 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds'
    </script>
</body>

</html>